#!/usr/bin/perl
package Foo::Bar1;

sub new {
    my $class = shift;
    bless{data=>undef},$class;
}

package Foo::Bar2;

sub new {
    my $class = shift;
    bless{data=>undef},$class;
}

package Hoge;
use Devel::innerPackage qw(list_packages);
use Module::Pluggable 
#    search_path => 'Foo',
#    except      => ['Foo::Bar1','Foo::Bar2'],
    except      => ['Foo::Bar1','Foo::Bar2'],
    inner       => 1,
    require     => 0,
;

sub new {
    my $class = shift;
    bless{data=>undef},$class;
}

sub call{
    my $self = shift;
    $self->{data} .= 'hoge:';
    return $self->{data};
}

my $foo = new Hoge();
my $call = $foo->call();

print "Call-data:: $call\n";

my @plugins = $foo->plugins();
print "@plugins <<< \n";

my @inner_packages = list_packages('Foo');
print "@inner_packages <<<---- \n";


